package controller;
import java.io.IOException;
import java.net.*;


/**
 * this is the main class server configuration network controller
 * @author Jose Luis Garcia && Alvaro Blazquez Checa
 *
 */
public class Server implements Runnable
{	
	private ServerSocket serverSocket;
	/**
	 * create a new socket in the port
	 * @param port
	 */
	public Server(int port)
	{
		try {
			serverSocket = new ServerSocket(port);
		} 
		catch (IOException e) 
		{
			System.out.println("-> No se pudo crear el server en el puerto: " + port);
			System.exit(1);
		}
		
		System.out.println("-> Servidor creado en el puerto: " + port);
	}
	/**
	 * launchs the server
	 */
	public void run()
	{
		while(true){
			try
			{
				System.out.println("-> Esperando conexione de los clientes");
				new ClientHandler(serverSocket.accept());
			}
			catch(IOException e)
			{
				System.out.println("-> Error al aceptar la conexion con el cliente" + e);
			}
		}
	}
}
